﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JYB.SummitExam.IDAL;
using JYB.SummitExam.DAL;
using JYB.SummitExam.BLL.Factory;

namespace JYB.SummitExam.BLL
{
    public abstract class AbstractFactory
    {
        public abstract IUserDAL GetUserDAL();
        public abstract IJurisdictionDAL GetSystemJurisdictionDAL();
        public abstract ISystemCollegeDAL GetSystemCollegeDAL();
        public abstract IQuestionBankDAL GetQuestionBankDAL();

        public static AbstractFactory SystemUserFactory()
        {
            return new SystemUserFactory();
        }
        public static AbstractFactory SystemJurisdictionFactory()
        {
            return new SystemJurisdictionFactory();
        }
        public static AbstractFactory SystemCollegeFactory()
        {
            return new SystemCollegeFactory();
        }
        public static AbstractFactory QuestionBankFactory()
        {
            return new QuestionBankFactory();
        }
    }
}
